// Copyright [2020] <unknown>
#include <bits/stdc++.h>
using namespace std;
// #define ONLINE_JUDGE
#ifndef ONLINE_JUDGE
#define dbg(x...) { cerr << "\033[32;1m" << #x << " -> "; err(x); }
void err() { cerr << "\033[39;0m" << endl; }
template<typename T, typename... A>
void err(T a, A... x) { cerr << a << ' '; err(x...); }
#else
#define dbg(...)
#endif

#define sz(x) ((int)x.size())

typedef long long LL;

int t, n;

const int N = 1e5+50;

bool dp[N];

LL dp2[N];

int main(int argc, char const *argv[]) {
    // code

    dp[0] = false;
    for (int i=2; i<=100; ++i) {
        if ((!dp[i/2]) || (!dp[i-i/2]))
            dp[i] = true;
    }

    // for (int i=0; i<=100; ++i)
    //     dbg(i, dp[i]);

    dp2[1] = 1;
    dp2[2] = 2;
    for (int i=3; i<=63; ++i) {
        if (i % 2 == 0)
            dp2[i] = dp2[i-1] * 2 - 1;
        else
            dp2[i] = dp2[i-1] << 1;
    }

    // for (int i=1; i<=63; ++i)
        // dbg(i, dp2[i]);


    scanf("%d", &t);
    for (int kk=0; kk<t; ++kk) {
        LL x;
        scanf("%lld", &x);
        if (x <= 1) {
            if (dp[x])
                puts("XiaoHuiHui");
            else
                puts("XiaoQiao");
        } else {
            int p = upper_bound(dp2+1, dp2+64, x) - dp2 - 1;
            // dbg(p, dp2[p]);
            if (p % 2 == 0)
                puts("XiaoHuiHui");
            else
                puts("XiaoQiao");
        }
    }
    return 0;
}
